<?php
/** ******************************
 * @author  :   Yêu Tinh
 * @email   :   domain.web.online@gmail.com
 * @since   :   8-07-2013
 *********************************/

class User extends AppModel {

    var $name = 'User';
    var $displayField = 'password';
    var $validate = array(
        'password' => array(
            'notempty' => array(
                'rule' => array('notempty'),
                'message' => 'Xin vui lòng điền thông tin',
                'allowEmpty' => false,
                'required' => false,
            //'last' => false, // Stop validation after this rule
            //'on' => 'create', // Limit validation to 'create' or 'update' operations
            ),
        ),

        'password2' => array(
            'notempty' => array(
                'rule' => array('notempty'),
                'message' => 'Xin vui lòng điền thông tin',
                'allowEmpty' => false,
                'required' => false,
            //'last' => false, // Stop validation after this rule
            //'on' => 'create', // Limit validation to 'create' or 'update' operations
            ),
        ),

                'password_new' => array(
            'notempty' => array(
                'rule' => array('notempty'),
                'message' => 'Mật khẩu mới không được để trống',
                'allowEmpty' => false,
            ),
            'passwordlength' => array(
                'rule' => array('between', 6, 32),
                'message' => 'Mật khẩu phải có 6 -> 32 ký tự.'
            ),
        ),
        'repassword_new' => array(
            'notempty' => array(
                'rule' => array('notempty'),
                'message' => 'Mật khẩu mới không được để trống',
                'allowEmpty' => false,
            ),
            'passwordlength' => array(
                'rule' => array('between', 6, 32),
                'message' => 'Mật khẩu phải có 6 -> 32 ký tự.'
            ),
            'passwordequal' => array(
                'rule' => array('checkpassword_new' ),
                'message' => 'Không khớp.'
            )
        ),


        'confirm_password' => array(
            'notempty' => array(
                'rule' => array('notempty'),
                'message' => 'Vui lòng nhập mật khẩu',
                'allowEmpty' => false,
            ),
            'passwordlength' => array(
                'rule' => array('confirm_password' ),
                'message' => 'Mật khẩu không đúng'
            ),
        ),
    );

    function confirm_password()
    {
        $tmp = $this->find('first',array('conditions'=>array('User.id'=>$this->data['User']['id'])));
       return !strcmp(md5($this->data['User']['confirm_password']),$tmp['User']['password']);
    }

    function checkpassword()
    {
       return !strcmp($this->data['User']['password'],$this->data['User']['repassword']);
    }

    function checkpassword_new()
    {
       return !strcmp($this->data['User']['password_new'],$this->data['User']['repassword_new']);
    }

    public function beforeSave($options = array()) {

        if(isset($this->data['User']['password_new'])){
            $this->data['User']['password'] = md5($this->data['User']['password_new']);
        }
        else if(isset($this->data['User']['password'])){
            $this->data['User']['password'] = md5($this->data['User']['password']);
        }
        return true;
    }
}

?>
